home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Development Tools & Languages / Dylan Related / Mindy / Mindy 1.2 - portable sources / comp / byteops.h next >
Encoding:
C/C++ Source or Header  |  1995-03-15  |  2.3 KB  |  76 lines  |  [TEXT/ttxt]

  1. /**********************************************************************\
  2. *
  3. *  Copyright (c) 1994  Carnegie Mellon University
  4. *  All rights reserved.
  5. *  
  6. *  Use and copying of this software and preparation of derivative
  7. *  works based on this software are permitted, including commercial
  8. *  use, provided that the following conditions are observed:
  9. *  
  10. *  1. This copyright notice must be retained in full on any copies
  11. *     and on appropriate parts of any derivative works.
  12. *  2. Documentation (paper or online) accompanying any system that
  13. *     incorporates this software, or any part of it, must acknowledge
  14. *     the contribution of the Gwydion Project at Carnegie Mellon
  15. *     University.
  16. *  
  17. *  This software is made available "as is".  Neither the authors nor
  18. *  Carnegie Mellon University make any warranty about the software,
  19. *  its performance, or its conformity to any specification.
  20. *  
  21. *  Bug reports, questions, comments, and suggestions should be sent by
  22. *  E-mail to the Internet address "gwydion-bugs@cs.cmu.edu".
  23. *
  24. ***********************************************************************
  25. *
  26. * $Header: byteops.h,v 1.5 94/10/05 20:53:58 nkramer Exp $
  27. *
  28. * This file defines the byte opcodes.
  29. *
  30. \**********************************************************************/
  31.  
  32. #define op_TRAP 0
  33. #define op_BREAKPOINT 1
  34. #define op_RETURN_SINGLE 2
  35. #define op_MAKE_VALUE_CELL 3
  36. #define op_VALUE_CELL_REF 4
  37. #define op_VALUE_CELL_SET 5
  38. #define op_MAKE_METHOD 6
  39. #define op_CHECK_TYPE 7
  40. #define op_CHECK_TYPE_FUNCTION 8
  41. #define op_CANONICALIZE_VALUE 9
  42. #define op_PUSH_BYTE 10
  43. #define op_PUSH_INT 11
  44. #define op_CONDITIONAL_BRANCH 12
  45. #define op_BRANCH 13
  46. #define op_PUSH_NIL 14
  47. #define op_PUSH_UNBOUND 15
  48. #define op_PUSH_TRUE 16
  49. #define op_PUSH_FALSE 17
  50. #define op_DUP 18
  51. #define op_DOT_TAIL 19
  52. #define op_DOT_FOR_MANY 20
  53. #define op_DOT_FOR_SINGLE 21
  54.  
  55. #define op_PUSH_CONSTANT 0x20
  56. #define op_PUSH_ARG 0x30
  57. #define op_POP_ARG 0x40
  58. #define op_PUSH_LOCAL 0x50
  59. #define op_POP_LOCAL 0x60
  60. #define op_CALL_TAIL 0x70
  61. #define op_CALL_FOR_MANY 0x80
  62. #define op_CALL_FOR_SINGLE 0x90
  63. #define op_PUSH_VALUE 0xa0
  64. #define op_PUSH_FUNCTION 0xb0
  65. #define op_POP_VALUE 0xc0
  66.  
  67. #define op_PLUS 0xf0
  68. #define op_MINUS 0xf1
  69. #define op_LT 0xf2
  70. #define op_LE 0xf3
  71. #define op_EQ 0xf4
  72. #define op_IDP 0xf5
  73. #define op_NE 0xf6
  74. #define op_GE 0xf7
  75. #define op_GT 0xf8
  76.